Elf: A Meta-Language for Deductive Systems (System Descrition)

نویسنده

  • Frank Pfenning
چکیده

1 Overview Elf is a uniform metalanguage for the formalization of the theory of programming languages and logics. It provides means for 1. specifying the abstract syntax and semantics of an object language in a natural and direct way; 2. implementing related algorithms (e.g., for type inference, evaluation, or proof search); and 3. representing proofs of meta-theorems about an object language, its semantics, and its implementation. Its conceptual basis are deductive systems which are used pervasively in the study of logic and the theory of programming languages. Logics and type systems for programming languages, for example, are often speciied via inference rules. Structured operational semantics and natural semantics also employ deductive systems, and other means for semantic speciication (for example, by rewrite rules) can be easily cast into this framework. Many meta-theorems can be proved by induction over the structure of derivations. Elf's formal foundation is the logical framework LF 5] in which systems of natural deduction can be concisely represented. LF employs the judgments-as-types encoding technique for the representation of derivations in a type theory with dependent types. In addition, Elf provides sophisticated type reconstruction and a constraint logic programming interpretation for LF. The latter allows the execution of algorithms when expressed as deductive systems. Proofs of meta-theorems can be represented concisely as higher-level judgments relating derivations. The most complete reference describing the Elf language is 10]. Gentler introductions can be found in 12] and 6]. Elf has also been used in a graduate course on the theory of programming languages. A draft of the course notes may be available from the author upon request. Below we provide a brief overview of how speciica-tion, implementation, and meta-theory tasks are supported in the Elf language. The subsequent sections list some case studies and describe the implementation of Elf. Object Language Speciication. LF generalizes rst-order terms by allowing objects from a dependently typed-calculus to represent object language expressions. This allows variables in the object language to be represented by variables in the metalanguage , using the technique of higher-order abstract syntax. Common operations

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Elf: A Meta-Language for Deductive Systems

Its conceptual basis are deductive systems which are used pervasively in the study of logic and the theory of programming languages. Logics and type systems for programming languages, for example, are often specified via inference rules. Structured operational semantics and natural semantics also employ deductive systems, and other means for semantic specification (for example, by rewrite rules...

متن کامل

Mechanically Verifying the Correctness of an Offline Partial Evaluator

We show that using deductive systems to specify an offline partial evaluator allows one to specify, prototype, and mechanically verify correctness via meta-programming — all within a single framework. For a λ-mix-style partial evaluator, we specify binding-time constraints using a natural-deduction logic, and the associated program specializer using natural (aka “deductive”) semantics. These de...

متن کامل

Modularity in the LF Logical Framework

Formal deductive systems play an important role in computer science, particularly in the areas of logic and semantics of programming languages. They are employed in three different, but obviously related roles. Firstly, they are used to specify logics, type systems, operational semantics and other aspects of languages. Secondly, they form the basis for the implementation of such deductive syste...

متن کامل

System Description: Twelf - A Meta-Logical Framework for Deductive Systems

Twelf is a meta-logical framework for the specification, implementation, and meta-theory of deductive systems from the theory of programming languages and logics. It relies on the LF type theory and the judgments-as-types methodology for specification [HHP93], a constraint logic programming interpreter for implementation [Pfe91], and the meta-logic M2 for reasoning about object languages encode...

متن کامل

Implementing the Meta-Theory of Deductive Systems

We exhibit a methodology for formulating and verifying metatheorems about deductive systems in the Elf language, an implementation of the LF Logical Framework with an operational semantics in the spirit of logic programming. It is based on the mechanical verification of properties of transformations between deductions, which relies on type reconstruction and schema-checking. The latter is justi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994